Telegram Group & Telegram Channel
بحر در کوزه این بار با HF!

احتمالا تا حالا شده که در مسیر تسک‌های NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیره‌سازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دست‌ها رو به نشانه تسلیم بالا می‌برید. اما هاگینگ‌فیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه می‌کنید. قابلیت memory mapping (که به صورت پیش‌فرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست می‌سازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لود‌شده در RAM هستند. پس یه جور آیینه تمام‌نمای RAM محسوب می‌شه و از این جا به بعد دیگه این کتابخانه یه اشاره‌گر به اول این فایل باز می‌کنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایل‌ها استفاده می‌کنه Apache Arrow هست که یه فرمت بهینه‌شده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی می‌تونید از هاب دیتاست هاگینگ‌فیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیش‌فرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست می‌دید (مثلا نمی‌تونید دستور dataset[2335] رو ران کنید چون آبجکتی که می‌سازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپل‌های یک دیتاست استریم‌نشده رو می‌گیرید. پس دیگه بهونه بسه و پاشید کار با دیتاست‌های بزرگ رو شروع کنید.

پ.ن: در تصاویر یه سری نمونه کد‌هایی آوردیم که از فصل ۱۰ کتاب گران‌سنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگ‌فیسه.

#handsOn

@nlp_stuff



tg-me.com/nlp_stuff/310
Create:
Last Update:

بحر در کوزه این بار با HF!

احتمالا تا حالا شده که در مسیر تسک‌های NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیره‌سازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دست‌ها رو به نشانه تسلیم بالا می‌برید. اما هاگینگ‌فیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه می‌کنید. قابلیت memory mapping (که به صورت پیش‌فرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست می‌سازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لود‌شده در RAM هستند. پس یه جور آیینه تمام‌نمای RAM محسوب می‌شه و از این جا به بعد دیگه این کتابخانه یه اشاره‌گر به اول این فایل باز می‌کنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایل‌ها استفاده می‌کنه Apache Arrow هست که یه فرمت بهینه‌شده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی می‌تونید از هاب دیتاست هاگینگ‌فیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیش‌فرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست می‌دید (مثلا نمی‌تونید دستور dataset[2335] رو ران کنید چون آبجکتی که می‌سازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپل‌های یک دیتاست استریم‌نشده رو می‌گیرید. پس دیگه بهونه بسه و پاشید کار با دیتاست‌های بزرگ رو شروع کنید.

پ.ن: در تصاویر یه سری نمونه کد‌هایی آوردیم که از فصل ۱۰ کتاب گران‌سنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگ‌فیسه.

#handsOn

@nlp_stuff

BY NLP stuff




Share with your friend now:
tg-me.com/nlp_stuff/310

View MORE
Open in Telegram


NLP stuff Telegram | DID YOU KNOW?

Date: |

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

NLP stuff from ms


Telegram NLP stuff
FROM USA